Best linear unbiased channel estimation for frequency selective multipath channels with long delay spreads

ABSTRACT

A channel impulse response for a channel is determined by determining an initial channel impulse response estimate based upon a stored training sequence and a received signal, by thresholding the initial channel impulse response estimate, by estimating a noise variance for the channel based upon the stored training sequence, the thresholded initial channel impulse response estimate, and the received signal, by determining an inverse of a covariance matrix based on the estimated noise variance and the thresholded initial channel impulse response estimate, by updating the channel impulse response based on the inverse covariance matrix, the stored training sequence, and the received signal, and by thresholding the updated channel impulse response estimate.

TECHNICAL FIELD OF THE INVENTION

[0001] The present invention relates to a channel estimator and, more particularly, to a channel estimator that estimates the response of a channel through which signals are received.

BACKGROUND OF THE INVENTION

[0002] For communication systems utilizing periodically transmitted training sequences, least-squares (LS) based and correlation based channel estimation algorithms have been the most widely used two alternatives for the estimation of the channel. The estimation of the channel is obtained for various purposes such as initializing the tap weights of the taps of an equalizer in a receiver.

[0003] Both algorithms (the least-squares (LS) based channel estimation and the correlation based channel estimation) use a stored copy of the known transmitted training sequence at the receiver. The properties and length of the training sequence generally depend on the particular standard specifications of the communication system. A baseline noise term is introduced into the channel estimation whenever the channel impulse response is estimated by a correlation type estimator or by a least square type estimator. This noise term will be increased if the training sequence is short compared to the length of the channel. This noise term results, at least in part, from the correlation of the stored copy of the training sequence with unknown symbols in addition to the known received training symbols. These unknown symbols includes the data symbols that are adjacent to transmitted training sequence. This baseline noise term reduces the accuracy of the channel estimations.

[0004] The present invention is directed to the estimation of a channel impulse response (CIR) based both on the training sequence that is periodically transmitted within a continuous stream of information symbols and on the statistics of the unknown data adjacent to the training sequence. Accordingly, this estimation may be referred to as the best linear unbiased estimate of the channel, meaning that the estimate has reduced or minimum variance, that the estimate is based on a linear model, and that the expected value of the estimate is substantially equal to the true value. Accordingly, the noise term in the channel estimation is reduced or eliminated according to the present invention.

SUMMARY OF THE INVENTION

[0005] In accordance with one aspect of the present invention, a method for determining a channel impulse response for a channel comprises the following: [a] determining an initial channel impulse response estimate based upon a stored training sequence and a received signal; [b] thresholding the initial channel impulse response estimate; [c] estimating a noise variance for the channel based upon the stored training sequence, the thresholded initial channel impulse response estimate, and the received signal; [d] determining an inverse of a covariance matrix based on the estimated noise variance and the thresholded initial channel impulse response estimate; [e] updating the channel impulse response based on the inverse covariance matrix, the stored training sequence, and the received signal; and, [f] thresholding the updated channel impulse response estimate.

BRIEF DESCRIPTION OF THE DRAWINGS

[0006] These and other features and advantages will become more apparent from a detailed consideration of the invention when taken in conjunction with the drawings in which:

[0007]FIG. 1 is a table giving values of a CIR for a simulated channel;

[0008]FIGS. 2a-2 d show the results of a simulation of the present invention based on the test channel provided in the table of FIG. 1; and,

[0009]FIG. 3 illustrates a portion of a receiver that includes a channel estimator according to an embodiment of the present invention.

DETAILED DESCRIPTION

[0010] Ideally, a channel estimator that provides a channel estimation in order to adjust the taps of an equalizer should work with channels having long delay spreads L_(d). In particular, the case where (NT+1)/2<L_(d)<NT may be considered. The quantity NT is the duration of the available training sequence, where N is the number of training symbols in the training sequence and T is the symbol period. For instance, the 8-VSB digital TV system has 728 training symbols (N=728), whereas the delays spreads of the terrestrial channels have been observed to be at least 400-500 symbols long.

[0011] The output of the pulse-matched filter of a receiver sampled at the baseband symbol rate is given by the following equation: $\begin{matrix} {{y\lbrack n\rbrack} = {\left. {y(t)} \right|_{t = {nT}} = {{\sum\limits_{k}{I_{k}{h\left\lbrack {n - k} \right\rbrack}}} + {\nu \lbrack n\rbrack}}}} & (1) \\ {\quad {= {{\sum\limits_{k}{I_{k}{h\left\lbrack {n - k} \right\rbrack}}} + {\sum\limits_{k}{{\eta \lbrack k\rbrack}\quad {q^{*}\left\lbrack {{- n} + k} \right\rbrack}}}}}} & (2) \\ {where} & \quad \\ {I_{k} = {\begin{Bmatrix} {a_{k},} & {0 \leq k \leq {N - 1}} \\ {d_{k},} & {N \leq n \leq {N^{\prime} - 1}} \end{Bmatrix} \in {A \equiv \left\{ {\alpha_{1},{\cdots \quad \alpha_{M}}} \right\}}}} & (3) \end{matrix}$

[0012] where I_(k) is the M-ary complex valued transmitted sequence, where A ⊂C¹, where {α_(k)}ε C¹ to denote that the first N symbols within a frame of length N′ are the known training symbols a_(k), and where d_(k) denotes data symbols of unknown values. The complex (colored) noise process after the (pulse) matched filter is given by the following equation:

ν[η]=[n]*q*[−n]  (4)

[0013] where η[n] denotes a zero-mean white Gaussian noise process with variance σ_(η) ² per real and imaginary part.

[0014] The complex valued impulse response of the composite channel is given by the following equation: $\begin{matrix} {{h(t)} = {{{q(t)}*{c(t)}*q*\left( {- t} \right)} = {\sum\limits_{k = {- K}}^{L}{c_{k}{p\left( {t - \tau_{k}} \right)}}}}} & (5) \end{matrix}$

[0015] where q(t) represents the pulse shaping filter of the transmitter, where c(t) represents the physical channel impulse response, where q*(t) represents the matching pulse shaping filter of the receiver, and where q(t) has a finite support of [−T_(q)/2, T_(q)/2]. The span of the transmit and receive filters, T_(q), is an even multiple of the symbol period T. That is, T_(q)=N_(q)T, and N_(q)=2L_(q) εZ⁺. N_(q)+1 is the number of taps of the matched filter q, where q=[q[+L_(q)], . . . , q[0], . . . ,q[−L_(q)]]^(T), and L_(q) is given immediately above. The complex valued physical channel gains are denoted as {C_(k)}⊂ C¹, and the multipath delays (or Time-Of-Arrivals (TOA)) are denoted as τ_(k).

[0016] It is assumed that the time-variations of the channel are slow enough that c(t) can be assumed to be a static inter-symbol interference (ISI) channel, at least throughout the training period. Without loss of generality, the composite channel impulse response CIR sampled at the symbol rate is h[n] and can be written as a finite dimensional vector h according to the following equation:

h[h[−N _(a) ], . . . h[−1],h[0],h[1] . . . h[N _(c)]]^(T)  (6)

[0017] wherein the superscript T denotes transpose, where N_(a) and N_(c) denote the number of anti-causal and causal taps of the channel, respectively, and the delay spread L_(d) of the channel (including the pulse tails) is given by the following equation:

L _(d)=(N _(a) +N _(c)+1)T  (7)

[0018] where T denotes the symbol period. The pulse matched filter output which includes all the contributions from the known training symbols and from the adjacent random and unknown data can be written according to the following equation: $\begin{matrix} \begin{matrix} {y_{\lbrack{- {N_{a}:{N + N_{c} - 1}}}\rbrack} = {{\left( {A + D} \right)h} + \nu_{\lbrack{- {N_{a}:{N + N_{c} - 1}}}\rbrack}}} \\ {= {{A\quad h} + {D\quad h} + {Q\quad \eta_{\lbrack{{- N_{a}} - {L_{q}:{N + N_{c} - 1 + L_{q}}}}\rbrack}}}} \end{matrix} & (8) \\ {\quad {= {{A\quad h} + {H\quad d} + {Q\quad \eta_{\lbrack{{- N_{a}} - {L_{q}:{N + N_{c} - 1 + L_{q}}}}\rbrack}}}}} & (9) \end{matrix}$

[0019] where the matrix A is given by the following equation: $\begin{matrix} {A = {\left\{ {\left\lbrack {a_{0},\cdots \quad,a_{N - 1},\underset{\underset{N_{a} + N_{c}}{}}{0,{\cdots \quad 0}}} \right\rbrack^{T},\left\lbrack {a_{0},\underset{\underset{N_{a} + N_{c}}{}}{{0.\quad \cdots}\quad,0}} \right\rbrack} \right\}}} & (10) \end{matrix}$

[0020] where the matrix D is given by the following equation: $\begin{matrix} {D = {\left\{ {\left\lbrack {{\underset{\underset{N}{}}{0,\cdots \quad,0,}d_{N}},\cdots \quad,d_{N_{c} + N_{a} + N - 1}} \right\rbrack^{T},\left\lbrack {0,d_{- 1},\cdots \quad,d_{{- N_{c}} - N_{a}}} \right\rbrack} \right\}}} & (11) \end{matrix}$

[0021] and where T denotes a Toeplitz matrix. Thus, the matrix A is a Toeplitz matrix of dimension (N+N_(a)+N_(c)) by (N_(a)+N_(c)+1) having a first column {α₀,α₁, . . . ,α_(N−)1, 0, . . . , 0}^(T) and a first row {α₀, 0, . . . , 0}. The matrix D is also a Toeplitz matrix that includes the adjacent unknown symbols d prior to and after the training sequence. The data sequence [d⁻¹, . . . , d_(−N) _(c) _(−N) _(a) ] is the unknown information symbols transmitted at the end of the frame prior to the current frame being transmitted. The matrix Q is of dimension (N+N_(a)+N_(c)) by (N+N_(a)+N_(c)+N_(q)) and is given by the following equation: $\begin{matrix} {Q = \begin{bmatrix} q^{T} & 0 & \cdots & 0 \\ 0 & q^{T} & \cdots & 0 \\ \vdots & \vdots & ⋰ & \vdots \\ 0 & 0 & \cdots & q^{T} \end{bmatrix}} & (12) \end{matrix}$

[0022] where q=[q[+L_(q)], . . . , q[0], . . . , q[−L_(q)]]^(T) The matrix H is given by the following equation:

H=HS^(T)  (13)

[0023] The matrix H is given by the following equation: $\begin{matrix} {\mathcal{H} = \begin{bmatrix} {\overset{\_}{h}}^{T} & 0 & \cdots & 0 \\ 0 & {\overset{\_}{h}}^{T} & \cdots & 0 \\ \vdots & \vdots & ⋰ & \vdots \\ 0 & 0 & \cdots & {\overset{\_}{h}}^{T} \end{bmatrix}_{{({N + N_{c} + N_{a}})} \times {({N + {2{({N_{a} + N_{c}})}}})}}} & (14) \end{matrix}$

[0024] The vector {overscore (h)} is given by the following equation:

{overscore (h)}=[h[N _(c) ], . . . , h[1], h[0], h[−1], . . . , h[−N _(a)]]^(T) =Jh  (15)

[0025] The matrix J is a matrix given by the following equation: $\begin{matrix} {J = \begin{bmatrix} 0 & \cdots & 0 & 1 \\ 0 & \cdots & 1 & 0 \\ \vdots & \vdots & \quad & \vdots \\ 1 & 0 & \cdots & 0 \end{bmatrix}_{{({N_{a} + N_{c} + 1})} \times {({N_{a} + N_{c} + 1})}}} & (16) \end{matrix}$

[0026] The matrix S is a matrix given by the following equation: $\begin{matrix} {S = \begin{bmatrix} I_{({N_{a} + N_{c}})} & 0_{{({N_{a} + N_{c}})} \times N} & 0_{{({N_{a} + N_{c}})} \times {({N_{c} + N_{a}})}} \\ 0_{{({N_{a} + N_{c}})} \times {({N_{c} + N_{a}})}} & 0_{{({N_{a} + N_{c}})} \times N} & I_{({N_{a} + N_{c}})} \end{bmatrix}} & (17) \end{matrix}$

[0027] Where the vector {overscore (h)} is the time reversed version of the vector h (re-ordering is accomplished by the permutation matrix J), and the matrix H is of dimension (N+N_(a)+N_(c))×(2(N_(a)+N_(c))) with a “hole” inside which is created by the selection matrix S.

[0028] A correlation based procedure and a least square based procedure are known for estimating the channel. The correlation based estimate of the channel impulse response is given by the following equation: $\begin{matrix} {{\hat{h}}_{u} = {\frac{1}{r_{a}\lbrack 0\rbrack}\quad A^{H}y_{\lbrack{- {N_{a}:{N + N_{c} - 1}}}\rbrack}}} & (18) \end{matrix}$

[0029] where ĥ_(u) is the uncleaned (includes noise) estimate of the channel, where the superscript H denotes the Hermitian (complex conjugate transpose) operation, and where r_(a)[0] is given by the following equation: $\begin{matrix} {{r_{a}\lbrack 0\rbrack} = {\sum\limits_{k = 0}^{N - 1}{a_{k}}^{2}}} & (19) \end{matrix}$

[0030] The least square based estimate of the channel impulse response is given by the following equation:

ĥ _(c)=(A ^(H) A)⁻¹ A ^(H) y _([−N) _(a) _(N+N) _(c) _(−1]()20)

[0031] where ĥ_(c) is the cleaned estimate of the channel, and where cleaning is accomplished by removing the unknown side lobes of the a periodic correlation operation which is performed in accordance with equation (18).

[0032] Consider the linear model given by the following equation:

y=Ax+ν  (21)

[0033] where y is the observation (or response) vector, A is the regression (or design) matrix, x is the vector of unknown parameters to be estimated, and ν is the observation noise (or measurement error) vector. Assuming that it is known that the random noise vector is zero mean, and is correlated, that is ${{{Cov}\left\{ \nu \right\}} = {K_{\nu} \equiv {\frac{1}{2}E\left\{ {\nu \quad \nu^{H}} \right\}} \neq {\sigma_{\nu}^{2}I}}},$

[0034] the

[0035] (generalized) objective function for the model of equation (21) is given by the following equation:

J _(GLS)(x)=(y−Ax)^(H) K _(ν) ⁻¹(y−Ax)  (22)

[0036] The least squares estimate that minimizes equation (22) is given by the following equation:

{circumflex over (x)} _(gls)=(A ^(H) K _(ν) ⁻¹ A)⁻¹ A ^(H) K _(ν) ⁻¹ y  (23)

[0037] The estimator of equation (23) is called the best linear unbiased estimate (BLUE) among all linear unbiased estimators if the noise covariance matrix is known to be Cov{ν}=K_(ν). If the noise ν is known to be Gaussian with zero mean and with covariance matrix K_(ν), that is if it is known that ν˜N(0, K_(ν)), then the estimator of equation (3) is called the minimum variance unbiased estimator (MVUE) among all unbiased estimators (not only linear).

[0038] The two terms on the right most side of Equation (9) can be denoted by ν according to the following equation:

v=Hd+Qη _([−N) _(a) _(−L) _(q) _(:N+N) _(c) _(−1+Lq])  (24)

[0039] Accordingly, equation (9) can be re-written according to the following equation:

y _([−N) _(a) _(:N+N) _(c) _(−1]) =Ah+ν  (25)

[0040] By noting that the random vectors d and η are statistically independent, and also by noting that both d and η are zero mean vectors, the covariance matrix, K_(v), of v may be given by the following equation: $\begin{matrix} {{{Cov}\left\{ \nu \right\}} = {{K_{\nu} \equiv {\frac{1}{2}E\left\{ {\nu \quad \nu^{H}} \right\}}} = {{\frac{ɛ_{d}}{2}{HH}^{H}} + {\sigma_{\eta}^{2}{QQ}^{H}}}}} & (26) \end{matrix}$

[0041] where ε_(d) is the energy of the transmitted information symbols, and equals to 21 if the transmitted information symbols {d_(k)} are chosen from the set {±1, ±3, ±5, ±7,}. The covariance matrix K_(v) describes the statistics of the unknown data and noise. In other words, the covariance matrix K_(v) is a measure of the correlation of the signal at the output of the matched filter q. For the model of equation (25), the generalized least squares objective function to be minimized is given by the following equation:

J _(GLS)(y)=(y _([−N) _(a) _(N+N) _(c) _(−1]) −Ah)^(H) K _(ν) ⁻¹(y _([−N) _(a) _(:N+N) _(c) _(−1]) −Ah)  (27)

[0042] Then, the generalized least-squares solution to the model of Equation (25) which minimizes the objective function of J_(GLS)(y) is given by the following equation:

ĥ _(K)=(A ^(H) K _(v) ⁻¹ A)⁻¹ A ^(H) K _(v) ⁻¹ y _([−N) _(a) _(:N+N) _(c) _(−1])  (28)

[0043] Equation (28) yields a best linear unbiased channel estimate in which noise arising from the correlation of the stored training sequence with unknown data is reduced or substantially eliminated as compared with the channel estimates given by equations (18) and (20). The problem with Equation (28) is that the channel estimate ĥ_(K) is based on the covariance matrix K_(v), which is a function of both the true channel impulse response vector h and the channel noise variance σ_(η) ². In actual applications, the best linear unbiased channel estimate of equation (28) can not be exactly obtained.

[0044] Hence, an iterative technique may be used to calculate a generalized least squares estimate of equation (28) where every iteration produces an updated estimate of the covariance matrix K_(v) as well as the channel noise variance σ_(η) ². A simplified version of the iterations, which yield a closer approximation to the exact best linear unbiased estimate of the channel impulse response after each step, is provided in the following Algorithm. This algorithm is an iterative algorithm to obtain a generalized least-squares channel impulse response (CIR) estimate.

Algorithm

[0045] [1] Get an initial CIR estimate using one of equation (18) or equation (20), and denote this initial CIR by ĥ[0]

[0046] [2] Threshold the initial CIR estimate, and denote the thresholded CIR by ĥ^((th))[0];

[0047] [3] Estimate the noise variance σ²[0];

[0048] [4] for k=1, . . . , N_(iter), do

[0049] [4-a] Calculate the inverse of the (estimated) covariance matrix {circumflex over (K)}_(ν) ⁻¹[k] according to the following equation: $\begin{matrix} {{{{\hat{K}}_{v}^{- 1}\lbrack k\rbrack} = \left\lbrack {{\frac{ɛ_{d}}{2}{H\left( {{\hat{h}}^{({th})}\left\lbrack {k - 1} \right\rbrack} \right)}{H^{H}\left( {{\hat{h}}^{({th})}\left\lbrack {k - 1} \right\rbrack} \right)}} + {{{\hat{\sigma}}_{\eta}^{2}\left\lbrack {k - 1} \right\rbrack}{QQ}^{H}}} \right\rbrack^{- 1}};} & (29) \end{matrix}$

[0050] where ĥ^((th)) is the result of step [2] and H is derived by forming the time reverse of ĥ^((th)) according to equation (15), inserting the time reverse of h^((th)) into equation (14) to obtain H, and then inserting H into equation (13) to obtain H;

[0051] [4-b] calculate the updated channel estimate according to the following equation:

ĥ _(k) [k]=(A ^(H) K _(v) ⁻¹ [k]A)⁻¹ A ^(H) {circumflex over (K)} _(v) ⁻¹ [k]y _([−N) _(a) _(:N+N) _(c) _(−1]);  (30)

[0052] [4-c] Threshold the CIR estimate ĥ_(K)[k] and denote the thresholded CIR estimated by ĥ^((th))[k];

[0053] [4-d] Estimate the noise variance σ_(η) ²[k].

[0054] end for

[0055] Any known thresholding can be implemented for steps [2] and [4-c]. This algorithm could be stopped after step [4-b] or step [4-c]. However, iterations of steps [4-a] to [4-d] give a more refined channel estimate.

[0056] In the intermediate steps of [3] and [4-d], the noise variance is estimated in accordance with the following equation: $\begin{matrix} {\sigma_{\eta}^{2} = {\frac{1}{2\quad {ɛ_{q}\left( {N - N_{a} - N_{c}} \right)}}{{{\hat{y}}_{\lbrack{N_{c}:{N - N_{a}}}\rbrack} - y_{\lbrack{N_{c}:{N - N_{a}}}\rbrack}}}^{2}}} & (31) \end{matrix}$

[0057] where

ε_(q)=∥q∥²  (32)

ŷ _([N) _(c) _(:N−N) _(a) ]=Ãĥ ^(th)  (33)

Â=T{[a _(N) _(c) _(+N) _(a) , . . . ,a _(N)−1] ^(τ,[a) _(N) _(c) _(+N) _(a) , . . . ,a ₀]}  (34)

[0058] The present invention was simulated using an 8-VSB receiver with a single antenna. The 8-VSB system has a complex raised cosine pulse shape. The channel parameters for the simulation are given in the table of FIG. 1. The phase angles of individual paths for all the channels are taken to be given by the following equation:

arg{c _(k)}=exp(−j2πf _(c) T _(k))fork=−2, . . . ,6  (35)

[0059] where $\begin{matrix} {f_{c} = \frac{50}{T_{sym}}} & (36) \end{matrix}$

 T_(sym)=92.9 nsec  (37)

[0060] The simulation was run at a 28 dB Signal-to-Noise-Ratio (SNR) measured at the input to the receive pulse matched filter, and SNR was calculated according to the following equation: $\begin{matrix} {{SNR} = \frac{ɛ_{d}{\left\{ {{c(t)}*{q(t)}} \right\}_{t = {kT}}}^{2}}{\sigma_{\eta}^{2}}} & (38) \end{matrix}$

[0061]FIG. 2a-2 d show the simulation results for the test channel provided in the table of FIG. 1. Specifically, FIG. 2a shows the actual CIR, FIG. 2b shows the correlation based CIR estimate according to equation (18), FIG. 2c shows the least squares based CIR estimate of equation (20), and FIG. 2d shows the best linear unbiased channel estimate according to the algorithm disclosed above after only the first iteration. The results of the algorithm even after only one iteration are superior as compared to the correlation based and ordinary least squares based CIR estimation schemes. The performance measure is the normalized least-squares error which is defined by the following equation: $\begin{matrix} {ɛ_{NLS} = \frac{{{h - \hat{h}}}^{2}}{N_{a} + N_{c} + 1}} & (39) \end{matrix}$

[0062] As shown in FIG. 3, a portion of a receiver pertinent to the present invention includes a matched filter 10 that is referred to above as q*(−t). The received signal passes through the matched filter 10 to an equalizer 12 such as a linear FIR filter, a decision feedback equalizer (DFE), or a maximum likelihood sequence estimate (MLSE) equalizer having taps whose initial tap weights may be determined in accordance with the channel impulse response determined by the algorithm as described above.

[0063] Accordingly, the output of the matched filter 10 is provided to an improved channel impulse response estimator 14 and to an initial channel impulse response estimator 16. The initial channel impulse response estimator 16 determines the initial channel impulse response ĥ[0] according to either equation (18) or equation (20) as described above in step 1 of the algorithm. The initial channel impulse response estimator 16 provides the initial channel impulse response ĥ[0] to the improved channel impulse response estimator 14.

[0064] In determining the initial channel impulse response ĥ[0] in accordance with either equation (18) or equation (20), the initial channel impulse response estimator 16 uses a replica of the transmitted training symbols a_(k) and the received signal vector y. The replica of the transmitted training symbols a_(k) is stored in a memory 16. The received signal vector y is output from the matched filter 10 and includes both the transmitted training symbols a_(k) and the unknown data symbols d_(k). The replica of the transmitted training symbols a_(k) stored in the memory 16 is designated as the matrix A in equations (18) and (20).

[0065] The channel impulse response estimator 14 implements the algorithm disclosed above in order to improve the initial estimate of the channel impulse response for the channel between the transmitter and the receiver. Accordingly, the improved channel impulse response estimator 14 thresholds the initial CIR estimate ĥ[0], estimates the noise variance σ²[0] as disclosed above, and performs the iterations for k=1, . . . , N_(iter), where Niter may be any number. As a result, the channel impulse response estimator 14 determines a final thresholded CIR ĥ^((th))[k] which it supplies to a tap weight calculator 20 that calculates the initial tap weights for the taps of the equalizer 12 based on a channel impulse response. The tap weight calculator 20 may implement a suitable known tap weight calculation algorithm.

[0066] An alternative approach may be used to produce results of nearly the same quality as the results produced by the algorithm described above while at the same time requiring much less computational complexity (i.e., requiring about the same number of multiplications necessary to implement equation (20)) and having storage requirements similar to that of equation (20). According to this alternative, the initial least squares estimation error can be reduced by seeking an approximation in which it is assumed that the baseband representation of the physical channel c(t) is a unit Dirac-delta function according to the following equation:

c(t)=δ(t).  (40)

[0067] (Accordingly, the unit physical channel represented by the Dirac-delta function is assumed to be a perfect channel having no distortion or attenuation.) This relationship implies the following:

h(t)=p(t)*c(t)=p(t).  (41)

[0068] Thus, it can be assumed that the finite length channel impulse response vector can be (initially) approximated according to the following equation: $\begin{matrix} {\overset{\sim}{h} = \left\lbrack {{\underset{\underset{N_{a} - N_{q}}{}}{0,{\cdots \quad 0},}{p\left\lbrack {- N_{q}} \right\rbrack}},{p\left\lbrack {{- N_{q}} + 1} \right\rbrack},\cdots \quad,{p\left\lbrack {- 1} \right\rbrack},{p\lbrack 0\rbrack},{p\lbrack 1\rbrack},\cdots \quad,{p\left\lbrack {N_{q} - 1} \right\rbrack},\underset{\underset{N_{c} - N_{q}}{}}{0,{\cdots \quad \overset{\quad}{0}}}} \right\rbrack^{T}} & (42) \end{matrix}$

[0069] with the assumptions that N_(a)≦N_(q) and N_(c)≦N_(q). That is, the tail span of the composite pulse shape is well confined to within the assumed delay spread of [−N_(a)T, N_(C)T]. Then, the approximation of equation (42) can be substituted into equations (13-17) to yield an initial (approximate) channel convolution matrix {tilde over (H)} that is given by the following equation:

{tilde over (H)}={tilde over (H)}S^(T)  (43)

[0070] where {tilde over (H)} is formed as in Equation (14) with {tilde over ({overscore (h)})}=J{tilde over (h)}. It can also be assumed that a reasonable received Signal-to-Noise (SNR) ratio measured at the input to the matched filter is 20 db. This SNR is given by the following equation: $\begin{matrix} {{SNR} = \frac{ɛ_{d}{\left. {{c(t)}*{q(t)}} \right|_{t = {nT}}}^{2}}{\sigma_{\eta}^{2}}} & (44) \end{matrix}$

[0071] which can be re-written as the following: $\begin{matrix} {{SNR} = \frac{ɛ_{d}{q}^{2}}{\sigma_{\eta}^{2}}} & (45) \end{matrix}$

[0072] For an approximate SNR of 20 dB, an initial noise variance is given by the following equation: $\begin{matrix} {{\overset{\sim}{\sigma}}_{\eta}^{2} = {\frac{ɛ_{d}{q}^{2}}{100}.}} & (46) \end{matrix}$

[0073] A fixed SNR can be assumed as long as the SNR is reasonably close to the actual SNR with which the receiver is expected to operate. For example, a digital television receiver meeting the ATSC standard is expected to operate at greater than a 15 db SNR and, therefore, it is reasonable to assume a SNR of 20 db.

[0074] By combining {tilde over (H)} and {tilde over (σ)}_(η) ², the initial approximate covariance matrix can pre-calculated according to the following equation: $\begin{matrix} {{{\overset{\sim}{K}}_{\nu}\left( \overset{\sim}{H} \right)} = {{\frac{1}{2}ɛ_{d}\overset{\sim}{H}{\overset{\sim}{H}}^{H}} + {{\overset{\sim}{\sigma}}_{\eta}^{2}{QQ}^{H}}}} & (47) \end{matrix}$

[0075] which further leads to the initial channel estimate according to the following equation:

{tilde over (h)} _({tilde over (K)}=() A ^(H) [{tilde over (K)} _(v)({tilde over (H)})]⁻¹ A)⁻¹ A ^(H) [{tilde over (K)} _(v)({tilde over (H)})]⁻¹ y _([−N) _(a) _(:N+N) _(c) _(−1])(48)

[0076] Equation (48) produces an initial channel estimate for step 1 of the algorithm disclosed above. Subsequently, the algorithm can proceed as described above to generate an improved channel estimate with each iteration of the do loop.

[0077] On the other hand, the channel impulse response estimate produced by equation (48) is good enough that it could be used by itself to produce the initial tap weights of an equalizer. In this case, the quantity (A^(H)[{tilde over (K)}_(ν)({tilde over (H)})]⁻¹A^(H)[{tilde over (K)}_(ν)({tilde over (H)})]⁻¹ from equation (48) can be pre-calculated because A is based on the known stored training sequence, {tilde over (K)}_(ν)({tilde over (H)}) is known from equation (47), {tilde over (H)} in equation (47) is known from equations (13-17) which has all known terms including the vector h given by equation (42). This quantity may be stored and then applied in the receiver to the received signal vector y when it is desired to determine the initial tap weights for the equalizer. Thus, the channel impulse response estimator 14 can be eliminated, and the channel impulse response estimator 16 implements equation (48) based on the stored quantity from equation (48) and the received signal vector y.

[0078] As an example of representative numbers for a digital television receiver, the number of training symbols N=704, N_(q)=60, L_(q)=30, q=61 taps, p=121 taps, the number of anti-causal taps N_(a)=127, the number of causal taps N_(c)=448, and the delay spread L_(d)=576T.

[0079] Modifications of the present invention will occur to those practicing in the art of the present invention. Accordingly, the description of the present invention is to be construed as illustrative only and is for the purpose of teaching those skilled in the art the best mode of carrying out the invention. The details may be varied substantially without departing from the spirit of the invention, and the exclusive use of all modifications which are within the scope of the appended claims is reserved. 

We claim:
 1. A method for determining a channel impulse response for a channel comprising: [a] determining an initial channel impulse response estimate based upon a stored training sequence and a received signal; [b] thresholding the initial channel impulse response estimate; [c] estimating a noise variance for the channel based upon the stored training sequence, the thresholded initial channel impulse response estimate, and the received signal; [d] determining an inverse of a covariance matrix based on the estimated noise variance and the thresholded initial channel impulse response estimate; [e] updating the channel impulse response based on the inverse covariance matrix, the stored training sequence, and the received signal; and, [f] thresholding the updated channel impulse response estimate.
 2. The method of claim 1 further comprising [g] updating the estimated noise variance for the channel based upon the stored training sequence, the thresholded updated channel impulse response estimate, and the received signal.
 3. The method of claim 2 further comprising repeating [d]-[f] based on the updated estimated noise variance and the thresholded updated channel impulse response estimate.
 4. The method of claim 2 further comprising repeating [d]-[g] based on the updated estimated noise variance and the thresholded updated channel impulse response estimate.
 5. The method of claim 1 wherein the determining of an initial channel impulse response estimate comprises correlating the received signal with the stored training sequence.
 6. The method of claim 1 wherein the determining of an initial channel impulse response estimate comprises determining a least square estimate of the channel based on the received signal and the stored training sequence.
 7. The method of claim 1 wherein the estimating of a noise variance for the channel comprises estimating the noise variance for the channel based upon the stored training sequence, the thresholded initial channel impulse response estimate, the received signal, and a matched filter in a receiver, wherein the determining of an inverse of a covariance matrix comprises determining the inverse of a covariance matrix based on the estimated noise variance, the thresholded initial channel impulse response estimate, and the matched filter in a receiver, and wherein the updating of the estimated noise variance comprises updating the estimated noise variance based upon the stored training sequence, the thresholded updated channel impulse response estimate, the received signal, and the matched filter in a receiver.
 8. The method of claim 7 wherein the determining of an initial channel impulse response estimate comprises correlating the received signal with the stored training sequence.
 9. The method of claim 7 wherein the determining of an initial channel impulse response estimate comprises determining a least square estimate of the channel based on the received signal and the stored training sequence.
 10. The method of claim 7 wherein the estimating of a noise variance for the channel comprises estimating the noise variance for the channel in accordance with the following equation: ${\hat{\sigma}}_{\eta}^{2} = {\frac{1}{2\quad {ɛ_{q}\left( {N - N_{a} - N_{c}} \right)}}{{{\hat{y}}_{\lbrack{N_{c}:{N - N_{a}}}\rbrack} - y_{\lbrack{N_{c}:{N - N_{a}}}\rbrack}}}^{2}}$

wherein ε_(q)=∥q∥² wherein σ_(η) ² is the estimated the noise variance, wherein ŷ is given by the following equation: ŷ _([(N) _(c) _(:N−N) _(a) _(]) =Ãĥ ^((th)) wherein Ã is based upon the stored training sequence, wherein ĥ^((th)) is the thresholded initial channel impulse response estimate, wherein y is the received signal, wherein q is based on the matched filter in a receiver, wherein N is the number of training symbols, and wherein N_(a) and N_(c) are the anti-causal and causal taps of the channel, wherein the determining of an inverse of a covariance matrix comprises determining the inverse of the covariance matrix according to the following equation: ${{\hat{K}}_{v}^{- 1}\lbrack k\rbrack} = \left\lbrack {{\frac{ɛ_{d}}{2}{H\left( {{\hat{h}}^{({th})}\left\lbrack {k - 1} \right\rbrack} \right)}{H^{H}\left( {{\hat{h}}^{({th})}\left\lbrack {k - 1} \right\rbrack} \right)}} + {{{\hat{\sigma}}_{\eta}^{2}\left\lbrack {k - 1} \right\rbrack}{QQ}^{H}}} \right\rbrack^{- 1}$

wherein {circumflex over (K)}_(ν) ⁻¹ is the inverted covariance matrix, wherein H is given by the following equation: H=HS^(T) wherein H is given by the following equation: $\mathcal{H} = \begin{bmatrix} {\overset{\_}{h}}^{T} & 0 & \cdots & 0 \\ 0 & {\overset{\_}{h}}^{T} & \cdots & 0 \\ \vdots & \vdots & ⋰ & \vdots \\ 0 & 0 & \cdots & {\overset{\_}{h}}^{T} \end{bmatrix}_{{({N + N_{c} + N_{a}})} \times {({N + {2{({N_{a} + N_{c}})}}})}}$

wherein {overscore (h)} is given by the following equation: {overscore (h)}=Jh wherein h is based on the initial channel impulse response estimate, wherein J is a matrix given by the following equation: $J = \begin{bmatrix} 0 & \cdots & 0 & 1 \\ 0 & \cdots & 1 & 0 \\ \vdots & \vdots & \quad & \vdots \\ 1 & 0 & \cdots & 0 \end{bmatrix}_{{({N_{a} + N_{c} + 1})} \times {({N_{a} + N_{c} + 1})}}$

wherein S is a matrix given by the following equation: $S = \begin{bmatrix} I_{({N_{a} + N_{c}})} & 0_{{({N_{a} + N_{c}})} \times N} & 0_{{({N_{a} + N_{c}})} \times {({N_{c} + N_{a}})}} \\ 0_{{({N_{a} + N_{c}})} \times {({N_{c} + N_{a}})}} & 0_{{({N_{a} + N_{c}})} \times N} & I_{({N_{a} + N_{c}})} \end{bmatrix}$

wherein I is the identity matrix, wherein Q is based on the matched filter in a receiver, wherein the updating of the channel impulse response comprises updating the channel impulse response in accordance with the following equation: ĥ _(k) [k]=(A ^(H) {circumflex over (K)} _(ν) ⁻¹ [k]A)⁻¹ A ^(H) {circumflex over (K)} _(ν) ⁻¹ [k]y _([−N) _(a) _(:N+N) _(c) _(−1]) and wherein the updating of the estimated noise variance comprises updating the estimated noise variance in accordance with the following equation: ${\hat{\sigma}}_{\eta}^{2} = {\frac{1}{2\quad {ɛ_{q}\left( {N - N_{a} - N_{c}} \right)}}{{{{\hat{y}}_{\lbrack{N_{c}:{N - N_{a}}}\rbrack} - y_{\lbrack{N_{c}:{N - N_{a}}}\rbrack}}}^{2}.}}$


11. The method of claim 10 wherein the determining of an initial channel impulse response estimate comprises correlating the received signal with the stored training sequence.
 12. The method of claim 10 wherein the determining of an initial channel impulse response estimate comprises determining a least square estimate of the channel based on the received signal and the stored training sequence.
 13. The method of claim 1 wherein the determining of an initial channel impulse response estimate comprises determining a least squares estimate of the channel impulse response by multiplying the received signal by a stored quantity, and wherein the stored quantity is based on (i) a stored replica of the training sequence, and (ii) an assumed covariance matrix that is based on a noise variance and an initial channel impulse response that assumes a unit physical channel.
 14. The method of claim 13 wherein the stored quantity is given by the following expression: (A ^(H) [{tilde over (K)} _(v)({tilde over (H)})]⁻¹ A)⁻¹ A ^(H) [{tilde over (K)} _(v)({tilde over (H)})]⁻¹ wherein A is based on the stored replica of the training sequence, wherein {tilde over (K)}_(ν)is the covariance matrix, and wherein {tilde over (H)} is based on the initial channel impulse response that assumes a unit physical channel and a predetermined SNR.
 15. The method of claim 14 wherein the covariance matrix {tilde over (K)}_(v) is given by the following equation: ${{\overset{\sim}{K}}_{\nu}\left( \overset{\sim}{H} \right)} = {{\frac{1}{2}ɛ_{d}\overset{\sim}{H}{\overset{\sim}{H}}^{H}} + {{\overset{\sim}{\sigma}}_{\eta}^{2}{QQ}^{H}}}$

wherein {tilde over (σ)}_(η) ² is the noise variance and is given by the following equation: ${\overset{\sim}{\sigma}}_{\eta}^{2} = \frac{ɛ_{d}{q}^{2}}{C}$

and wherein ε_(d), Q, and q are based on a matched filter, wherein C is a constant given by the following equation: $C = {10^{\frac{{SNR}\quad\lbrack{db}\rbrack}{10}}.}$


16. The method of claim 15 wherein {tilde over (H)} is given by the following equation: {tilde over (H)}={tilde over (H)}S^(T) wherein {tilde over (H)} is given by the following equation: {tilde over ({overscore (h)})}=J{tilde over (h)} wherein {tilde over (h)} is based on the initial channel impulse response that assumes a unit physical channel, wherein J is a matrix given generally by the following equation: $J = \begin{bmatrix} 0 & \ldots & 0 & 1 \\ 0 & \ldots & 1 & 0 \\ \vdots & \vdots & \quad & \vdots \\ 1 & 0 & \ldots & 0 \end{bmatrix}$

wherein S is a matrix given generally by the following equation: $S = \begin{bmatrix} I & 0 & 0 \\ 0 & 0 & I \end{bmatrix}$

wherein I is the identity matrix.
 17. The method of claim 1 wherein the updating of the channel impulse response is based on the following equation: ĥ _(K)=(A ^(H) K _(ν) ⁻¹ A)⁻¹ A ^(H) K _(ν) ⁻¹ y wherein ĥ_(K) comprises a least square estimate of the channel impulse response, wherein K_(ν)comprises the covariance matrix, wherein A comprises a matrix based on the stored training sequence, and wherein y comprises the received signal.
 18. The method of claim 1 wherein the updating of the channel impulse response is based on the following equation: ĥ _(K)=(A ^(H) K _(ν) ⁻¹ A)⁻¹ A ^(H) K _(ν) ⁻¹ y _([N) _(a) _(:N+N) _(c) _(−1]) wherein ĥ_(K) comprises a least square estimate of the channel impulse response, wherein K_(ν)comprises the covariance matrix, wherein A comprises a matrix based on the stored training sequence, wherein y comprises the received signal, wherein N comprises the number of symbols in the stored training sequence, wherein N_(a) comprises the number anti-causal taps in the channel, and wherein N_(c) comprises the number causal taps in the channel.
 19. The method of claim 1 wherein the determining of an inverse of the covariance matrix comprises determining the inverse of the covariance matrix based on the thresholded initial channel impulse response estimate, the estimated noise variance, and a matched filter of a receiver. 